home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-29 | 1.3 KB | 81 lines | [TEXT/CWIE] |
- // DDocData.cp -- data container class for Temperature
-
- #include "PString.h"
- #include "DDocData.h"
-
- #include <stdlib.h>
-
- //----------
- DDocData* NewDDocData ()
- {
- DDocData* data;
-
- data = (DDocData*)malloc (sizeof (DDocData));
- DDocData_Init (data);
-
- return data;
- }
-
- //----------
- void DeleteDDocData (
- DDocData* data)
- {
- DDocData_Free (data);
- free (data);
- }
-
- //----------
- void DDocData_Init (
- DDocData* self)
- {
- AMSignaler_Init ((AMSignaler*) self);
-
- self->mCentigrade = 10;
- self->mFahrenheit = 50;
- }
-
- //----------
- void DDocData_Free (
- DDocData* self)
- {
- AMSignaler_Free ((AMSignaler*) self);
- }
-
- //----------
- SInt32 GetCentigrade (
- DDocData* self)
- {
-
- return self->mCentigrade;
- }
-
- void SetCentigrade (
- DDocData* self,
- SInt32 inValue)
- {
- self->mCentigrade = inValue;
- self->mFahrenheit = ((18 * self->mCentigrade) + 5) / 10 + 32;
- SignalDataChanged ((AMSignaler*) self, idFahrenheit);
-
- SignalDataChanged ((AMSignaler*) self, idCentigrade);
- }
-
- //----------
- SInt32 GetFahrenheit (
- DDocData* self)
- {
-
- return self->mFahrenheit;
- }
-
- void SetFahrenheit (
- DDocData* self,
- SInt32 inValue)
- {
- self->mFahrenheit = inValue;
- self->mCentigrade = ((10 * (self->mFahrenheit - 32)) + 9) / 18;
- SignalDataChanged ((AMSignaler*) self, idCentigrade);
-
- SignalDataChanged ((AMSignaler*) self, idFahrenheit);
- }
-